在當代技術領域,Spring Boot 逐漸成為 Java 開發者的熱門選擇。從框架的核心理念、它的起源到演變,到 Spring 系列豐盛的功能及行業最佳做法,乃至於與其他技術的融合,皆有所探討。微服務浪潮中,Spring Boot 扮演的角色又是如何呢?
這系列文章將從初學者 (which is me XD) 的角度出發,解析 Spring Boot 的每一個細節,用 30 天的時間紀錄學習旅程,希望與讀者一同探索,共同進步。讓我們一起當個快樂爪哇人,一窺冰山下的 Spring Boot 樣貌吧 🙌🏻
在現在的開發世界中,要將概念轉化為實際產品,速度和效率是兩大關鍵要素。
框架的出現是希望免去開發者閉門造車從頭打造一輛車子的情況,那不僅效率低也容易出錯。 可以把框架想像成一個工廠,這個工廠提供許多半成品的零件(組件化),讓我們專注在發想(商業邏輯),最終透過組裝高效地完成產品
在 Java 世界中,應用程式要寫多個 servlet classes,還要在 XML 檔中做相對應的配置,對於完成一個複雜 WEB 應用程式而言,開發程式的過程會變得繁雜且不利團隊開發。
在 2002 年時 Rod Johnson 寫了一本叫做《Expert One-on-One J2EE Design and Development》的書。書中他討論了很多 Java EE 的問題和挑戰,並提出了一些改進的想法。基於他在書中的想法,Rod 開發了一個框架,這個框架最後演變成為我們今天熟知的 Spring Framework。
BTW,這位存在於 Java 社群的著名大神同時具有 CS 學位及音樂博士的學歷 XD
這邊推薦他 2014 年精彩的演講 Things I Wish I'd Known
雖然 Spring Framework 提供了強大的功能,並具有很大的靈活性以適應各種應用及情境,但這意味著需要進行更多的配置作業。另外,在早期的 Spring 版本中,XML 是主要的配置方式,這些種種因素導致配置變得較為複雜。
為了解決Spring 版本設定工作過於繁重的問題,Spring 社群發布了 Spring Boot。旨在簡化架構流程、提供預設的配置、降低開發難度,使開發人員只需要專注在應用程式的開發,而無須過多關注XML 的配置。
Spring Boot 提供了大量的 Starters
,這些已預設配置好的 starter 使開發者得以快速選擇並使用。另外,Spring Boot 內嵌有 Tomcat 的伺服器,這代表我們不需要外部的伺服器就能運行一個應用程式。
從 Servlet 到 Spring Framework 再到 Spring Boot 甚至近年來火紅的 Quarkus,Java 的 Web 開發框架目的都是為了使開發者能夠更有效、更安全、更簡單地開發應用程式。
好啦,以上就是簡單的 Spring Boot 初登場,
明天將接續說明 Spring 中的 core technologies, see ya tomorrow!